package com.white.algebra.dao;

import com.white.algebra.domain.Permission;

import java.sql.SQLException;
import java.util.List;

public interface PermissionDao {
    /**
     *根据角色id查出没有的权限
     * @param id
     * @return
     */
    List<Permission> findUserByIdAndAllRole(String id) throws SQLException;

    /**
     *根据角色id查询对应权限
     * @param id
     * @return
     */
    List<Permission> findById(String id) throws SQLException;

    /**
     *关联角色_权限表
     * @param permissionId
     * @param roleId
     */
    void addpermission(String permissionId, String roleId) throws SQLException;

    /**
     *根据角色与权限id删除角色_权限表
     * @param permissionId
     * @param roleId
     */
    void deleteRole_PermissionByPermissionAndRoleId(String permissionId, String roleId) throws SQLException;

    /**
     *根据权限id删除对应权限
     * @param id
     */
    void deletePermissionById(String id) throws SQLException;

    /**
     *根据权限id删除对应角色_权限
     * @param id
     */
    void deleteRole_PermissionByPermissionId(String id) throws SQLException;

    /**
     *查询所有权限
     * @return
     */
    List<Permission> findAll() throws SQLException;

    /**
     *添加权限
     * @param permission
     */
    void save(Permission permission) throws SQLException;

    /**
     *根据权限id查询权限
     * @return
     */
    Permission findPermissionById(String id) throws SQLException;
}
